#include <iostream>

using namespace std;
const int N = 20;
int st[N]; // 表示状态的数组
int n;
void dfs(int x)
{
    if (x > n)
    {
        for (int i = 1; i <= n; i++)
        {
            if (st[i] == 1)
            {
                cout << i << " ";
            }
        }
        cout << endl;
        return;
    }
    // 选
    st[x] = 1;
    dfs(x + 1);
    st[x] = 0; // 恢复原样
    // 不选
    st[x] = 2;
    dfs(x + 1);
    st[x] = 0; // 恢复原样
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);
    cin >> n;

    dfs(1);
    return 0;
}


